﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using VisionCloud.Core.Model.Enums;
using VisionCloud.Domain.ModelAttribute;

namespace VisionCloud.Domain.DtoModel.Ms
{
    /// <summary>
    /// 任务IdDto
    /// </summary>
    public class MsTaskIdDto
    {
        /// <summary>
        /// 任务ID
        /// </summary>
        [GuidRequired] public Guid TaskId { get; set; }
    }

    /// <summary>
    /// 重建任务的D
    /// </summary>
    public class MsReCreatedTaskDto : MsTaskIdDto
    {
        /// <summary>
        /// 测量点索引列表，从0开始计算
        /// </summary>
        public List<int> PointIndexList { get; set; }
    }

    /// <summary>
    /// 任务Dto
    /// </summary>
    public class MsTaskDto : MsTaskIdDto
    {
        /// <summary>
        /// 任务名称
        /// </summary>
        public string TaskName { get; set; }

        /// <summary>
        /// 分享报告类型
        /// </summary>
        public ShareReportTypeEnum ShareReportType { get; set; } = ShareReportTypeEnum.Report;

        /// <summary>
        /// 户型（分户设置的Name）
        /// </summary>
        public string HouseType { get; set; }
    }

    /// <summary>
    /// 单个站点报告
    /// </summary>
    public class MsTaskPointReportDto : MsTaskIdDto
    {
        /// <summary>
        /// 任务站点索引
        /// </summary>
        [Required] public int PointIndex { get; set; }
    }

    public class TaskIdWithHouseTypeDto : MsTaskIdDto
    {
        public string HouseType { get; set; }
    }
}